define(function(require, exports){
	var $		= require('jquery');
	var pubjs	= require('pubjs');
	var view	= require('@base/view');
	var util    = require('util');

	var Main = view.container.extend({
		init: function(config){
			config = pubjs.conf(config, {
				'view_model': {
					'modelId': '',
					'modelName': '',
					'eventSearch': this.eventSearch
				}
			});

			this.Super('init', arguments);
		},
		afterBuild: function(){
			var self = this;

			self.append($([
				'<div class="M-formHead">',
					'<span class="M-formHeadTitle">'+LANG('操作日志')+'</span>',
					'<span>',
						'<div>',
							'<span class="mr10">ID: </span>',
							'<input type="text" ms-duplex-value="modelId" placeholder="ID"/>',
							'<span class="ml10 mr10">特殊表: </span>',
							'<input type="text" ms-duplex-value="modelName" placeholder="搜索特殊的表名"/>',
							'<span class="ml15 btn btn-default" ms-click="eventSearch">搜索</span>',
						'</div>',
						'<div class="mt15" ms-visible="!modelName">',
							'<span>查询指定的数据表：</span>',
							'<span pub-name="model" pub-mod="@base/common/input.radioGroup"/>',
						'</div>',
					'</span>',
					'<div>指定查询时间：</div>',
					'<span class="" pub-name="date" pub-mod="@base/common/date.dateRangeNew"/>',
				'</div>',
			].join('')));

			self.buildFromTemplate({
				'model': {
					data: [
						{'value': 0, 'text': LANG('全部'), 'checked':true},
						{'value': 'Campaign', 'text': LANG('活动')},
						{'value': 'DspUser', 'text': LANG('用户')},
						{'value': 'Qualification', 'text': LANG('资质')},
						{'value': 'Product', 'text': LANG('产品')},
						{'value': 'Sweety', 'text': LANG('创意包')},
						{'value': 'Whisky', 'text': LANG('落地页')}
					]
				},
				'date': {
					userStorage: false
				}
			});

		},
		eventSearch: function()
		{
			var param = {};
			var date = this.$.date.getData(true, true);
			var model = this.$.model.getValue();
			var modelName = this.vm.$.modelName;
			var modelId = +this.vm.$.modelId;

			param.modelId = modelId;
			// modelName查询特殊的表名，优先级高于原本设定好的。
			param.model = modelName || model;

			//时间
			param.begindate = date.begin;
			param.enddate = date.end;

			if (param.model == 'Campaign' && !modelId)
			{
				pubjs.alert('查询活动必须输入id,请输入查询id');
				return false;
			}

			if (!param.model && !modelId)
			{
				pubjs.alert('查询所有表，必须输入指定id');
				return false;
			}

			if (!modelId && ((date.end - date.begin) > 60*60*24*7))
			{
				pubjs.alert('未指定查询id，查询时间段不能超过7天');
				return false;
			}

			var str = '?';
			util.each(param, function(value, key)
			{
				if (value)
				{
					str += key + '=' + value + '&'
				}
			});
			var url = '/api/admin/operationlog' + str;

			window.open(url);
		}
	});

	exports.main = Main;
});